package com.tpe.model.util;

import com.google.gson.Gson;
import com.tpe.model.entity.Grupo;
import com.tpe.model.entity.Usuario;
import com.tpe.model.util.json.JSONObject;

public class JsonUtil {

	private static Gson gson;

	private JsonUtil() {}

	public static String usuarioToJson(Usuario usuario) {
		JSONObject json = new JSONObject();
		json.put("nome", usuario.getNome());
		json.put("email", usuario.getEmail());

		return json.toString();
	}
	
	public static Usuario usuarioToObj(String usuarioJson) {
		return getGson().fromJson(usuarioJson, Usuario.class);
	}

	public static String grupoToJson(Grupo grupo) {
		JSONObject json = new JSONObject();
		json.put("nome", grupo.getNome());
		json.put("integrantes", grupo.getIntegrantes());

		return json.toString();
	}

	public static Grupo grupoToObj(String grupoJson) {
		return getGson().fromJson(grupoJson, Grupo.class);
	}

	private static Gson getGson() {
		if(gson == null){
			gson = new Gson();
		}
		return gson;
	}
}